package me.eleme.anubis.openapi.api.entity.order;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.util.List;


/**
 * @author 刘志永
 */
@Data
public class PreCreateOrderReq {
    /**
     * 外部订单号
     */
    @JSONField(name = "partner_order_code")
    private String partnerOrderCode;

    /**
     * 取货经度
     */
    @JSONField(name = "transport_longitude")
    private String transportLongitude;

    /**
     * 取货纬度
     */
    @JSONField(name = "transport_latitude")
    private String transportLatitude;

    /**
     * 取货点联系人电话
     */
    @JSONField(name = "transport_tel")
    private String transportTel;

    /**
     * 外部门店id
     */
    @JSONField(name = "out_shop_code")
    private String outShopCode;
    /**
     * 门店id
     */
    @JSONField(name = "chain_store_id")
    private Long chainStoreId;
    /**
     * 商户订单来源（如 饿了么、美团等）
     */
    @JSONField(name = "order_source")
    private Integer orderSource;
    /**
     * 服务商品id
     */
    @JSONField(name = "service_goods_id")
    private Integer serviceGoodsId;
    /**
     * 基础商品id
     */
    @JSONField(name = "base_goods_id")
    private Integer baseGoodsId;
    /**
     * 订单类型（1:即时单，3:预约单）
     */
    @JSONField(name = "order_type")
    private Integer orderType;
    /**
     * 需要送达时间
     */
    @JSONField(name = "require_receive_time")
    private Long requireReceiveTime;
    /**
     * 下单时间
     */
    @JSONField(name = "order_add_time")
    private Long orderAddTime;
    /**
     * 是否使用优惠券
     */
    @JSONField(name = "use_coupon")
    private Integer useCoupon;
    /**
     * 预计出餐时间（毫秒)
     */
    @JSONField(name = "expect_fetch_time")
    private Long expectFetchTime;
    /**
     * 取货点地址描述
     */
    @JSONField(name = "transport_address")
    private String transportAddress;
    /**
     * 经纬度来源
     */
    @JSONField(name = "position_source")
    private Integer positionSource;
    /**
     * 收货人地址 文字描述
     */
    @JSONField(name = "receiver_address")
    private String receiverAddress;
    /**
     * 收货人经度
     */
    @JSONField(name = "receiver_longitude")
    private double receiverLongitude;
    /**
     * 收货人纬度
     */
    @JSONField(name = "receiver_latitude")
    private double receiverLatitude;
    /**
     * 订单商品总金额
     */
    @JSONField(name = "goods_total_amount_cent")
    private Long goodsTotalAmountCent;
    /**
     * 订单商品客户实际支付金额
     */
    @JSONField(name = "goods_actual_amount_cent")
    private Long goodsActualAmountCent;
    /**
     * 订单小费
     */
    @JSONField(name = "order_tip_amount_cent")
    private Long orderTipAmountCent;
    /**
     * 订单总重量
     */
    @JSONField(name = "goods_weight")
    private double goodsWeight;
    /**
     * 货物件数
     */
    @JSONField(name = "goods_count")
    private Integer goodsCount;
    /**
     * 货物明细
     */
    @JSONField(name = "goods_item_list")
    private List<OrderItemOpenapiDTO> goodsItemList;
}
